﻿//// Copyright (c) 2014 Baidu.com, Inc. All Rights Reserved
////
//// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
//// the License. You may obtain a copy of the License at
////
//// http://www.apache.org/licenses/LICENSE-2.0
////
//// Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
//// an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
//// specific language governing permissions and limitations under the License.

//using System;
//using System.Collections.Generic;
//using System.IO;
//using System.Linq;
//using System.Reflection;
//using System.Reflection.Emit;
//using System.Text;

//namespace BaiduBce.Util.Json
//{
//    public class JsonMapper<T>
//        {
//            public delegate T JsonDeserializer(JsonLexer lexer);

//            private static JsonDeserializer deserialize;

//            static JsonMapper()
//            {
//                DynamicMethod dynamicMethod = new DynamicMethod(
//                    "Deserialize",
//                    MethodAttributes.Static | MethodAttributes.Private,
//                    CallingConventions.Standard,
//                    typeof(T),
//                    new Type[] { typeof(JsonLexer) },
//                    typeof(JsonMapper<T>),
//                    true);
//                ILGenerator generator = dynamicMethod.GetILGenerator();
//            }

//            public static T ToObject(StreamReader input)
//            {
//                return deserialize(new JsonLexer(input));
//            }
//        }
//}

